import store from "@/store";
// import { addFirend } from '@/api/manage/patient.js'
import { Message } from "view-design";
// import nedb from '@/db/nedb'
// import base64 from '@/utils/base64'
// import { shell } from 'electron'
// import { sendSock } from '../websocket'
// import router from '../../router'

/**
 * 好友信息变更通知
 * 新的好友通知 ok
 * @param {*} msg
 */
function friendAddNoticeHandle(msg) {
    let message = JSON.parse(msg.message);
    console.log("TCL: friendAddNoticeHandle -> message", message);
    console.log("好友信息变更通知：FriendAddNotice");
    if (store.getters.dialogLock === 5) {
        store.dispatch("SetDialogLock", 0);
        store.dispatch("SetDialog", "");
    }
    if (!message.Friend) return;
    addFirend({
        //     id	待办事项列表id	是	[string]
        // 2	addStatus	添加好友状态	是	[string]	1 = 已通过 2 = 未通过 3 =等待中	查看
        // 3	verify_msg	添加好友验证消息	是	[string]	我是张三	查看
        // 4	pass_at	通过好友时间	是	[string]	2019-12-11	查看
        // 5	FriendNo	患者微信号	是	[string]
        // 6	WeChatId	顾问 微信id	是	[string]
        id: "",
        addStatus: 1,
        verify_msg: "",
        pass_at: "2020-01-20",
        FriendNo: message.Friend.FriendNo,
        WeChatId: message.WeChatId,
    }).then((res) => {
        Message.success("添加成功");
    });
    // 更新好友信息
    //   let friend = message.Friend

    // 收到好友同意的请求，发送变更状态

    //   console.log('friend', friend)
    //   let userId = store.getters.userId
    //   let wechatId = message.WeChatId
    //   let friendId = friend.FriendId
    //   nedb.friends.update(
    //     {
    //       user: userId,
    //       WeChatId: wechatId,
    //       FriendId: friendId
    //     },
    //     { $set: friend },
    //     { upsert: true },
    //     (err, updateNumber) => {
    //       if (err) return
    //       store.dispatch('SetFriends')
    //       // 如果改变的是当前的微信 自动刷新当前微信的好友列表的数据
    //       if (wechatId === store.getters['conversation/currentWechat'].WeChatId) {
    //         store.dispatch('conversation/SetCurrentFriends')
    //         // 如果改变的正在聊天的的好友 自动更新好友的数据
    //         if (friendId === store.getters['conversation/currentFriend'].FriendId) {
    //           nedb.friends.findOne(
    //             {
    //               user: userId,
    //               WeChatId: wechatId,
    //               FriendId: friendId
    //             },
    //             (err, newFriendDoc) => {
    //               if (err) return
    //               store.dispatch('conversation/SetCurrentFriend', newFriendDoc)
    //             }
    //           )
    //         }
    //       }
    //     }
    //   )

    // 判断是否刚刚同意了好友申请
    //   let friendAccepted = store.getters['friend/friend']
    //   let messageFriend = message.Friend
    //   if (
    //     JSON.stringify(friendAccepted) !== '{}' &&
    //     friendAccepted.WeChatId === message.WeChatId &&
    //     friendAccepted.FriendId === messageFriend.FriendId
    //   ) {
    //     // console.log('同意好友请求成功')
    //     store.dispatch('friend/SetFriend', {})
    //     store.dispatch('SetDialog', '')
    //   }
}

// /**
//  * 联系人标签新增|修改通知
//  * @param {*} msg
//  */
// function contactLabelAddNoticeHandle(msg) {
//     let message = JSON.parse(msg.message);
//     console.log("联系人标签新增|修改通知：ContactLabelAddNotice");
//     console.log(message);
//     if (message.Label) {
//         let label = message.Label;
//         let doc = {
//             LabelId: label.LabelId,
//             LabelName: label.LabelName,
//         };
//         let wechatId = message.WeChatId;
//         let userId = store.getters.userId;
//         nedb.labels.update(
//             { user: userId, WeChatId: wechatId },
//             { $addToSet: { Labels: doc } },
//             { upsert: true },
//             (err, numReplaced) => {
//                 console.log(err || numReplaced);
//                 store.dispatch("SetLabels");
//             }
//         );
//     }
// }

// /**
//  * 标签删除通知
//  * @param {*} msg
//  */
// function contactLabelDelNoticeHandle (msg) {
//   let message = JSON.parse(msg.message)
//   console.log('标签删除通知：ContactLabelDelNotice')
//   console.log(message)
//   let wechatId = message.WeChatId
//   let userId = store.getters.userId
//   let labelId = message.LabelId
//   // $pull: { fruits: 'apple' }
//   nedb.labels.update(
//     { user: userId, WeChatId: wechatId },
//     { $pull: { Labels: { LabelId: labelId } } },
//     { upsert: true },
//     (err, numReplaced) => {
//       console.log(err || numReplaced)
//       store.dispatch('SetLabels')
//     }
//   )
//   // if (store.getters.dialogLock === 5) {
//   //   store.dispatch('SetDialogLock', 0)
//   //   store.dispatch('SetDialog', '')
//   // }
//   // if (!message.Friend) return
//   // // 更新好友信息
//   // let friend = message.Friend
//   // let userId = store.getters.userId
//   // let wechatId = message.WeChatId
//   // let friendId = friend.FriendId
//   // nedb.friends.update(
//   //   {
//   //     user: userId,
//   //     WeChatId: wechatId,
//   //     FriendId: friendId
//   //   },
//   //   { $set: friend },
//   //   { upsert: true },
//   //   (err, updateNumber) => {
//   //     if (err) return
//   //     store.dispatch('SetFriends')
//   //     if (wechatId === store.getters['conversation/currentFriend'].WeChatId) {
//   //       store.dispatch('conversation/SetCurrentFriends')
//   //     }
//   //   }
//   // )
// }

// /**
//  * 会话列表推送
//  */
function conversationPushNoticeHandle(msg) {
    // console.log(66666666);
    // console.log("会话列表推送:ConversationPushNotice");
    let message = JSON.parse(msg.message);
    let wechatId = message.WeChatId;
    if (message.Convers && message.Convers.length > 0) {
        // store.dispatch('conversation/SetConvers', message)
        let countCut = {};
        let count = 0;
        message.Convers.forEach((ee) => {
            if (ee.UnreadCnt) {
                count = count + ee.UnreadCnt;
            }
        });
        countCut.WeChatId = wechatId;
        countCut.count = count;
        console.log('count', countCut);
        store.commit("power/export/changeWxOne", countCut);
        // let userId = store.getters.userId;
        // let convers = [];
        // 重组convers
        // for (const conversation of message.Convers) {
        //     conversation.user = userId;
        //     conversation.WeChatId = wechatId;
        //     convers.push(conversation);
        // }
        // console.log(convers, 999999999999999999);
        // console.log(convers, 2222);

        // 查询已有的convers
        // nedb.convers.find({ user: userId, WeChatId: wechatId }, (err, docs) => {
        //   if (err) return
        //   let alreadyExist = [] // 已经存在的会话
        //   let insertConvsers = [] // 需要insert的会话
        //   let updateConvers = [] // 需要update的会话
        //   for (const doc of docs) {
        //     alreadyExist.push(doc.UserName)
        //   }
        //   for (const conversation of convers) {
        //     if (alreadyExist.indexOf(conversation.UserName) >= 0) {
        //       updateConvers.push(conversation)
        //     } else {
        //       insertConvsers.push(conversation)
        //     }
        //   }

        // 插入convers数据库
        //   if (insertConvsers.length > 0) {
        //     nedb.convers.insert(insertConvsers, (err, docs) => {
        //       if (err) return
        //       // 更新未读消息
        //       store.dispatch('conversation/SetNewMessageNotice', wechatId)
        //       // 隐藏Loading页面
        //       store.dispatch('SetDialog', '')
        //       // 更新当前会话列表
        //       if (
        //         wechatId === store.getters['conversation/currentWechat'].WeChatId
        //       ) {
        //         store.dispatch('conversation/SetCurrentConvers')
        //       }
        //     })
        //   }

        // let amount = alreadyExist.length + insertConvsers.length
        // console.log(`一共：${amount}`)
        // 更新convers数据库
        //   if (updateConvers.length > 0) {
        //     console.log(`需要更新${updateConvers.length}个`)
        //     for (const conversation of updateConvers) {
        //       let ui = 0
        //       nedb.convers.update(
        //         {
        //           user: userId,
        //           WeChatId: wechatId,
        //           UserName: conversation.UserName
        //         },
        //         conversation,
        //         { multi: false },
        //         (err, numReplaced) => {
        //           if (err) return
        //           ui++
        //           console.log(`已经更新${ui}个`)
        //           if (ui === updateConvers.length) {
        //             console.log('当前页更新完成')
        //             store.dispatch('SetDialog', '')
        //             store.dispatch('conversation/SetNewMessageNotice', wechatId)
        //             if (
        //               wechatId ===
        //               store.getters['conversation/currentWechat'].WeChatId
        //             ) {
        //               store.dispatch('conversation/SetCurrentConvers')
        //             }
        //           }
        //         }
        //       )
        //     }
        //   }
        // })
    } else {
        // console.log(`${wechatId}没有最新的convers`)
        // store.dispatch('conversation/SetNewMessageNotice', wechatId)
        // store.dispatch('SetDialog', '')
    }
    // if (message.Convers && message.Convers.length > 0) {
    //   let userId = store.getters.userId
    //   let convers = message.Convers
    //   let page = message.Page || 0
    //   let count = message.Count || 0
    //   let ccp = count - 500 * page
    //   let i = 0
    //   for (const conversation of convers) {
    //     conversation.WeChatId = wechatId
    //     conversation.user = userId
    //     nedb.convers.update(
    //       { user: userId, WeChatId: wechatId, UserName: conversation.UserName },
    //       conversation,
    //       { upsert: true },
    //       (err, numReplaced) => {
    //         if (err) return
    //         i++
    //         if (
    //           i === ccp &&
    //           wechatId === store.getters['conversation/currentWechat'].WeChatId
    //         ) {
    //           // console.log('更新当前列表')
    //           store.dispatch('conversation/SetCurrentConvers')
    //           store.dispatch('conversation/SetNewMessageNotice', wechatId)
    //           store.dispatch('SetDialog', '')
    //         }
    //       }
    //     )
    //   }
    // } else {
    //   store.dispatch('SetDialog', '')
    //   store.dispatch('conversation/SetNewMessageNotice', wechatId)
    // }
}

// /**
//  * 消息通知
//  */
// function friendTalkNoticeHandle (msg) {
//   let message = JSON.parse(msg.message)
//   // console.log(msg)
//   console.log('消息通知:friendTalkNoticeHandle')
//   console.log(message)
//   let userId = store.getters.userId
//   let wechatId = message.WeChatId
//   let friendId = message.FriendId
//   let digest = ''
//   let unReadCnt = 0
//   let msgCnt = 0
//   let reg = /^gh_/ // 公众号消息
//   if (reg.test(friendId)) return

//   let time = new Date().getTime()

//   let myDoc = {
//     IsSend: false, // 是自己发的
//     UpdateTime: String(time), // 更新时间
//     UserName: friendId, // 群id/好友id
//     WeChatId: wechatId, // 绑定的微信id
//     user: userId // 用户 SupplierId +  UnionId
//   }
//   if (message.FriendId.indexOf('@chatroom') > 0) {
//     myDoc.DigestUser = base64.b64DecodeUnicode(message.Content).split(':')[0]
//   }

//   switch (message.ContentType) {
//     case 'Text':
//       digest = base64.b64DecodeUnicode(message.Content)
//       if (message.FriendId.indexOf('@chatroom') > 0) {
//         digest = unescape(
//           escape(digest.replace(/.*?:/, '')).replace('%0A', '%20')
//         ).replace(' ', '')
//       }
//       break
//     case 'Picture':
//     case 2:
//       digest = '[图片]'
//       break
//     // 语音 3
//     case 'Voice':
//     case 3:
//       digest = '[语音]'
//       break
//     // 视频 4
//     case 'Video':
//     case 4:
//       digest = '[视频]'
//       break
//     // 系统消息 5
//     case 'System':
//     case 5:
//       digest = '[系统消息]'
//       break
//     // 链接消息 6
//     case 'Link':
//     case 6:
//       digest = '[链接]'
//       break
//     // 扩展的链接消息（小程序分享等），内容为xml格式，暂未使用 7
//     case 'LinkExt':
//     case 7:
//       digest = '[扩展的链接消息]'
//       break
//     // 文件 8
//     case 'File':
//     case 8:
//       digest = '[文件]'
//       break
//     // 名片 9
//     case 'NameCard':
//     case 9:
//       digest = '[名片]'
//       break
//     // 位置信息 10
//     case 'Location':
//     case 10:
//       digest = '[位置消息]'
//       break
//     // 红包 11
//     case 'LuckyMoney':
//     case 11:
//       digest = '[链接]'
//       break
//     // 转账 12
//     case 'MoneyTrans':
//     case 12:
//       digest = '[红包]'
//       break
//     // 小程序 13
//     case 'WeApp':
//     case 13:
//       digest = '[小程序]'
//       break
//     // Emoji 14
//     case 'Emoji':
//     case 14:
//       digest = '[Emoji]'
//       break
//     // 群管理消息 15
//     case 'RoomManage':
//     case 15:
//       digest = '[群管理消息]'
//       break
//     // 红包系统消息 16
//     case 'Sys_LuckyMoney':
//     case 16:
//       digest = '[红包系统消息]'
//       break
//     // 群系统消息 17
//     case 'RoomSystem':
//     case 17:
//       digest = '[群系统消息]'
//       break
//     // 不支持的消息
//     default:
//       digest = '[不支持的消息]'
//       break
//   }
//   myDoc.Digest = digest

//   // 更新会话表
//   nedb.convers.findOne(
//     {
//       user: userId,
//       WeChatId: wechatId,
//       UserName: friendId
//     },
//     (err, doc) => {
//       if (err) return
//       if (doc) {
//         // console.log('本地有其会话记录')
//         // console.log(doc)
//         // console.log(store.getters['conversation/currentFriend'])
//         unReadCnt = doc.UnreadCnt ? doc.UnreadCnt + 1 : 1
//         if (
//           (doc.WeChatId =
//             store.getters['conversation/currentFriend'].WeChatId &&
//             doc.UserName ===
//             store.getters['conversation/currentFriend'].FriendId)
//         ) {
//           // console.log('是当前会话')
//           unReadCnt = 0
//         }
//         msgCnt = doc.MsgCnt ? doc.MsgCnt + 1 : 1
//       } else {
//         console.log('本地没有其会话记录')
//         unReadCnt = 1
//         msgCnt = 1
//       }
//       myDoc.UnreadCnt = unReadCnt
//       myDoc.MsgCnt = msgCnt
//       console.log(myDoc)
//       nedb.convers.update(
//         {
//           user: myDoc.user,
//           WeChatId: myDoc.WeChatId,
//           UserName: myDoc.UserName
//         },
//         myDoc,
//         { upsert: true },
//         (err, docReplaced) => {
//           if (err) return
//           // console.log(err || docReplaced)
//           // console.log('更新本地convers成功')
//           store.dispatch('conversation/SetNewMessageNotice', myDoc.WeChatId)
//           if (
//             myDoc.WeChatId ===
//             store.getters['conversation/currentWechat'].WeChatId
//           ) {
//             // console.log('刷新列表')
//             store.dispatch('conversation/SetCurrentConvers')
//           }
//         }
//       )
//     }
//   )

//   // 消息插入chats
//   message.createTime = time
//   nedb.chats.update(
//     {
//       user: userId,
//       WeChatId: wechatId,
//       msgSvrId: message.msgSvrId,
//       FriendId: message.FriendId
//     },
//     { $set: message },
//     { upsert: true },
//     (err, updateNum) => {
//       if (!err) {
//         console.log('数据插入成功')
//         store.dispatch('conversation/SetCurrentChats')
//       }
//     }
//   )

//   // 新好友自动打招呼,不考虑群聊
//   if (
//     message.FriendId.indexOf('@chatroom') === -1 &&
//     message.FriendId.indexOf('im.chatroom') === -1
//   ) {
//     // 判断是否需要自动打招呼
//     nedb.autoHiConfig.findOne({ user: store.getters.userId }, (err, doc) => {
//       if (!err && doc && doc.open) {
//         // console.log('自动打招呼 开启')
//         if (doc.wechats.indexOf(message.WeChatId) >= 0) {
//           // console.log('该微信开启了自动打招呼')
//           if (
//             (message.ContentType === 'System' &&
//               message.Content.indexOf('5Y+v5Lul5byA5aeL6IGK5aSp5LqG') >= 0) ||
//             message.Content.indexOf(
//               '5oiR6YCa6L+H5LqG5L2g55qE5pyL5Y+L6aqM6K+B6K+35rGC77yM546w5Zyo5oiR5Lus5Y+v5Lul5byA5aeL6IGK5aSp5LqG'
//             ) >= 0
//           ) {
//             let taskId = new Date().getTime() + parseInt(Math.random() * 10000)
//             let autoReplyContent = {
//               WeChatId: message.WeChatId,
//               FriendId: message.FriendId,
//               ContentType: doc.type,
//               Content: base64.b64EncodeUnicode(doc.content),
//               SendTime: 0,
//               IsResend: false,
//               ResendTime: 0,
//               Remark: '',
//               MsgId: taskId
//             }
//             let autoReplyMessage = {
//               MsgType: 'TalkToFriendTask',
//               Content: autoReplyContent
//             }
//             // console.log(autoReplyMessage)
//             sendSock(autoReplyMessage)
//             // 存入本地数据库
//             // let autoReplyMessageLocal = {
//             //   MsgSvrId: taskId,
//             //   Content: base64.b64EncodeUnicode(doc.content),
//             //   ContentType: 'Text',
//             //   CreateTime: message.CreateTime ? message.CreateTime : taskId,
//             //   FriendId: message.FriendId,
//             //   MsgId: message.MsgId ? message.MsgId : taskId,
//             //   WeChatId: message.WeChatId,
//             //   IsSend: 1,
//             //   chatRoom: 0,
//             //   deleted: 0,
//             //   sending: 1, // 默认发送成功
//             //   messageNumber: message.messageNumber ? message.messageNumber : 0
//             // }
//             // console.log(autoReplyMessageLocal)
//             // websql.InsertReceiveChats(store.getters.db, autoReplyMessageLocal)
//           } else {
//             // console.log('不是新好友')
//           }
//         }
//       }
//     })
//   }
// }

// /**
//  * 手机微信发信息通知电脑
//  */
// function weChatTalkToFriendNoticeHandle (msg) {
//   let message = JSON.parse(msg.message)
//   console.log('手机微信发信息通知电脑：WeChatTalkToFriendNotice')
//   console.log(message)
//   let userId = store.getters.userId
//   let wechatId = message.WeChatId
//   let friendId = message.FriendId
//   let digest = ''
//   let unReadCnt = 0
//   let msgCnt = 0
//   let time = new Date().getTime()

//   // 消息插入chats
//   message.createTime = time
//   message.IsSend = 1
//   nedb.chats.update(
//     {
//       user: userId,
//       WeChatId: wechatId,
//       msgSvrId: message.msgSvrId,
//       FriendId: message.FriendId
//     },
//     { $set: message },
//     { upsert: true },
//     (err, updateNum) => {
//       if (err) return
//       store.dispatch('conversation/SetCurrentChats')
//     }
//   )

//   let myDoc = {
//     IsSend: true, // 是自己发的
//     UpdateTime: String(time), // 更新时间
//     UserName: friendId, // 群id/好友id
//     WeChatId: wechatId, // 绑定的微信id
//     UnreadCnt: unReadCnt, // 未读消息数
//     user: userId // 用户 SupplierId +  UnionId
//   }

//   if (message.FriendId.indexOf('@chatroom') > 0) {
//     myDoc.DigestUser = base64.b64DecodeUnicode(message.Content).split(':')[0]
//   }

//   switch (message.ContentType) {
//     case 'Text':
//       digest = base64.b64DecodeUnicode(message.Content)
//       if (message.FriendId.indexOf('@chatroom') > 0) {
//         digest = unescape(
//           escape(digest.replace(/.*?:/, '')).replace('%0A', '%20')
//         ).replace(' ', '')
//       }
//       break
//     case 'Picture':
//     case 2:
//       digest = '[图片]'
//       break
//     // 语音 3
//     case 'Voice':
//     case 3:
//       digest = '[语音]'
//       break
//     // 视频 4
//     case 'Video':
//     case 4:
//       digest = '[视频]'
//       break
//     // 系统消息 5
//     case 'System':
//     case 5:
//       digest = '[系统消息]'
//       break
//     // 链接消息 6
//     case 'Link':
//     case 6:
//       digest = '[链接]'
//       break
//     // 扩展的链接消息（小程序分享等），内容为xml格式，暂未使用 7
//     case 'LinkExt':
//     case 7:
//       digest = '[扩展的链接消息]'
//       break
//     // 文件 8
//     case 'File':
//     case 8:
//       digest = '[文件]'
//       break
//     // 名片 9
//     case 'NameCard':
//     case 9:
//       digest = '[名片]'
//       break
//     // 位置信息 10
//     case 'Location':
//     case 10:
//       digest = '[位置消息]'
//       break
//     // 红包 11
//     case 'LuckyMoney':
//     case 11:
//       digest = '[链接]'
//       break
//     // 转账 12
//     case 'MoneyTrans':
//     case 12:
//       digest = '[红包]'
//       break
//     // 小程序 13
//     case 'WeApp':
//     case 13:
//       digest = '[小程序]'
//       break
//     // Emoji 14
//     case 'Emoji':
//     case 14:
//       digest = '[Emoji]'
//       break
//     // 群管理消息 15
//     case 'RoomManage':
//     case 15:
//       digest = '[群管理消息]'
//       break
//     // 红包系统消息 16
//     case 'Sys_LuckyMoney':
//     case 16:
//       digest = '[红包系统消息]'
//       break
//     // 群系统消息 17
//     case 'RoomSystem':
//     case 17:
//       digest = '[群系统消息]'
//       break
//     // 不支持的消息
//     default:
//       digest = '[不支持的消息]'
//       break
//   }
//   myDoc.Digest = digest

//   // 更新会话表
//   nedb.convers.findOne(
//     {
//       user: userId,
//       WeChatId: wechatId,
//       UserName: friendId
//     },
//     (err, doc) => {
//       if (err) return
//       if (doc) {
//         console.log('本地有其会话记录')
//         // console.log(doc)
//         msgCnt = doc.MsgCnt ? doc.MsgCnt + 1 : 1
//         myDoc.MsgCnt = msgCnt
//       } else {
//         console.log('本地没有其会话记录')
//         msgCnt = 1
//         myDoc.MsgCnt = msgCnt
//       }
//       console.log(myDoc)
//       nedb.convers.update(
//         {
//           user: myDoc.user,
//           WeChatId: myDoc.WeChatId,
//           UserName: myDoc.UserName
//         },
//         myDoc,
//         { upsert: true },
//         (err, docReplaced) => {
//           console.log(err || docReplaced)
//           // console.log('更新本地convers成功')
//           store.dispatch('conversation/SetNewMessageNotice', myDoc.WeChatId)
//           if (
//             myDoc.WeChatId ===
//             store.getters['conversation/currentWechat'].WeChatId
//           ) {
//             // console.log('刷新列表')
//             store.dispatch('conversation/SetCurrentConvers')
//           }
//         }
//       )
//     }
//   )
// }

// /**
//  * 消息设为已读
//  * @param {*} msg
//  */
// function postMessageReadNoticeHandle (msg) {
//   let message = JSON.parse(msg.message)
//   console.log('手机上设置消息已读：PostMessageReadNotice')
//   console.log(message)
// }

// /**
//  * 历史消息推送
//  */
// function historyMsgPushNoticeHandle (msg) {
//   console.log('历史消息推送：historyMsgPushNoticeHandle')
//   let mj = JSON.parse(msg.message)
//   // router.replace({ name: 'historyMsg' })
//   // console.log(mj)
//   let chats = []
//   let time = new Date().getTime()
//   for (const chat of mj.Messages) {
//     chat.WeChatId = mj.WeChatId
//     chat.user = store.getters.userId
//     chat.createTime = time
//     chats.push(chat)
//   }
//   // console.log(chats)

//   nedb.chats.insert(chats, (err, newDocs) => {
//     console.log(err || newDocs)
//     store.dispatch('conversation/SetCurrentChats')
//   })
// }

// /**
//  * 发消息给好友结果 通知 处理
//  */
// function talkToFriendTaskResultNoticeHandle (msg) {
//   let message = JSON.parse(msg.message)
//   console.log('发消息结果通知：TalkToFriendTaskResultNotice')
//   console.log(message)
//   if (message.Success) {
//     let mi = Number(message.MsgId)
//     nedb.chats.update(
//       {
//         user: store.getters.userId,
//         WeChatId: message.WeChatId,
//         FriendId: message.FriendId,
//         MsgId: mi
//       },
//       { $set: { sendState: 1, msgSvrId: message.MsgSvrId } },
//       {},
//       (err, numReplaced) => {
//         console.log(err || numReplaced)
//         store.dispatch('conversation/SetCurrentChats')
//       }
//     )
//   } else {
//     alert(`MsgId:${message.MsgId}发送失败`, '消息发送失败')
//   }
// }

// /**
//  * 图片/视频/文件 详情
//  */
// function requestTalkDetailTaskResultNoticeHandle (msg) {
//   let message = JSON.parse(msg.message)
//   console.log('聊天信息详情:requestTalkDetailTaskResultNoticeHandle')
//   console.log(message)
//   let msgId = Number(message.MsgId)
//   let url = ''
//   if (message.Content && typeof message.Content === 'string') {
//     store.dispatch('SetDialog', '')

//     url = base64.b64DecodeUnicode(message.Content)
//     nedb.chatDetailTask.findOne({ MsgId: msgId }, (err, doc) => {
//       if (err) return
//       if (doc) {
//         // console.log('查询获取大图任务')
//         // console.log(doc)
//         let detail = {
//           user: store.getters.userId,
//           md5: doc.Md5,
//           msgSvrId: doc.MsgSvrId,
//           url: url
//         }
//         // console.log(detail)
//         nedb.chatDetail.insert(detail, (err, newDoc) => {
//           console.log(err || newDoc)
//           if (doc.contentType === 'File' || doc.contentType === 8) {
//             store.dispatch('SetDialog', '')
//             shell.openExternal(url)
//           } else {
//             store.dispatch('conversation/SetCurrentUrl', url)
//             store.dispatch('SetDialog', 'ChatDetail')
//           }
//         })
//       }
//     })
//   } else {
//     store.dispatch('SetTips', '获取不到大图')
//     store.dispatch('SetDialog', 'TipPage')
//   }
// }

// /**
//  * 微信号二维码 ok
//  * @param {*} msg
//  */
// function pullWeChatQrCodeTaskResultNoticeHandle (msg) {
//   let qrcode = JSON.parse(msg.message)
//   console.log('微信二维码：pullWeChatQrCodeTaskResultNoticeHandle')
//   console.log(qrcode)
//   let mt = new Date().getTime()
//   let userId = store.getters.userId
//   nedb.qrcode.update(
//     { user: userId, WeChatId: qrcode.WeChatId },
//     {
//       $set: {
//         user: userId,
//         WeChatId: qrcode.WeChatId,
//         QrCodeUrl: qrcode.QrCodeUrl,
//         ModifyTime: mt
//       }
//     },
//     { upsert: true },
//     (err, numReplaced) => {
//       console.log(err || numReplaced)
//       store.dispatch('conversation/SetQrCodes')
//       store.dispatch('SetDialog', '')
//     }
//   )
// }

// /**
//  * 收红包/转账
//  */
// function takeMoneyTaskResultNoticeHandle (msg) {
//   console.log('收红包/转账：takeMoneyTaskResultNoticeHandle')
//   let message = JSON.parse(msg.message)
//   console.log(message)
//   if (!message.Success) return
//   // let taskId = Number(message.TaskId)
//   let amount = message.Amount ? message.Amount : ''

//   nedb.luckMoney.update(
//     {
//       user: store.getters.userId,
//       Key: message.MsgKey,
//       WeChatId: message.WeChatId
//     },
//     { $set: { opened: 1, Amount: amount } },
//     {},
//     (err, numReplaced) => {
//       if (err) return
//       console.log(numReplaced)
//       store.dispatch('SetDialog', '')
//       store.dispatch('conversation/SetLuckMoneyOpened')
//     }
//   )
//   // switch (taskId) {
//   //   case -100:
//   //     console.log('手机端推送')
//   //     break
//   //   default:
//   //     console.log('PC端获取推送')
//   //     break
//   // }
// }

// // ===============================群聊相关===============================
// /**
//  * 群聊列表
//  */
// function chatroomPushNoticeHandle (msg) {
//   let message = JSON.parse(msg.message)
//   console.log('群聊列表:ChatRoomPushNotice')
//   console.log(message)
//   // store.dispatch('SetDialog', '')
//   let count = message.Count || 0 // 好友数量
//   if (count === 0) return
//   // 如果有好友
//   let page = message.Page || 0
//   let userId = store.getters.userId
//   let wechatId = message.WeChatId
//   let chatRooms = []
//   for (const chatRoom of message.ChatRooms) {
//     chatRoom.Page = page
//     chatRoom.WeChatId = wechatId
//     chatRoom.user = userId
//     chatRooms.push(chatRoom)
//   }
//   nedb.chatRooms.insert(chatRooms, (err, docs) => {
//     if (err) return
//     // console.log(docs)
//     store.dispatch('conversation/SetCurrentChatRooms')
//     // 判断是否推送完成
//     nedb.chatRooms.count(
//       { user: userId, WeChatId: wechatId },
//       (err, chatRoomCount) => {
//         if (!err && chatRoomCount === count) {
//           store.dispatch('conversation/SetChatRooms')
//           if (store.getters.dialog === 'PreviewPage') {
//             console.log('当前是PriviewPage')
//           } else {
//             store.dispatch('SetDialog', '')
//           }
//         }
//       }
//     )
//   })
// }

// /**
//  * 群成员信息
//  */
// function chatRoomMembersNoticeHandle (msg) {
//   console.log('群成员通知：ChatRoomMembersNotice')
//   let message = JSON.parse(msg.message)
//   console.log(message)
//   // let userId = store.getters.userId
//   let wechatId = message.WeChatId

//   if (message.Members && message.Members.length > 0) {
//     let userId = store.getters.userId
//     let members = []
//     // 重组convers
//     for (const member of message.Members) {
//       member.user = userId
//       member.WeChatId = wechatId
//       members.push(member)
//     }
//     // 查询已有的convers
//     nedb.chatRoomMembers.find(
//       { user: userId, WeChatId: wechatId },
//       (err, docs) => {
//         if (err) return
//         let alreadyExist = [] // 已经存在的会话
//         let insertMembers = [] // 需要insert的会话
//         let updateMembers = [] // 需要update的会话
//         for (const doc of docs) {
//           alreadyExist.push(doc.Wxid)
//         }
//         for (const member of members) {
//           if (alreadyExist.indexOf(member.Wxid) >= 0) {
//             updateMembers.push(member)
//           } else {
//             insertMembers.push(member)
//           }
//         }
//         // 插入chatRoomMembers数据库
//         if (insertMembers.length > 0) {
//           nedb.chatRoomMembers.insert(insertMembers, (err, docs) => {
//             if (err) return
//             if (
//               wechatId === store.getters['conversation/currentWechat'].WeChatId
//             ) {
//               store.dispatch('SetMembers')
//             }
//           })
//         }
//         // 更新chatRoomMembers数据库
//         if (updateMembers.length > 0) {
//           // console.log(`需要更新${updateMembers.length}个`)
//           let ui = 0
//           for (const member of updateMembers) {
//             nedb.chatRoomMembers.update(
//               {
//                 user: userId,
//                 WeChatId: wechatId,
//                 UserName: member.Wxid
//               },
//               member,
//               { multi: false },
//               (err, numReplaced) => {
//                 if (err) return
//                 ui++
//                 // console.log(`已经更新${ui}个`)
//                 if (ui === updateMembers.length) {
//                   console.log('当前页更新完成')
//                   if (
//                     wechatId ===
//                     store.getters['conversation/currentWechat'].WeChatId
//                   ) {
//                     store.dispatch('SetMembers')
//                   }
//                 }
//               }
//             )
//           }
//         }
//       }
//     )
//   }
// }

// /**
//  * 群二维码
//  */
// function pullChatRoomQrCodeTaskResultNoticeHandle (msg) {
//   let qrcode = JSON.parse(msg.message)
//   // let mt = new Date().getTime()
//   console.log('群二维码:PullChatRoomQrCodeTaskResultNotice')
//   console.log(qrcode)
//   let mt = new Date().getTime()
//   let userId = store.getters.userId
//   nedb.chatRoomQrCode.update(
//     { user: userId, WeChatId: qrcode.WeChatId, ChatRoomId: qrcode.ChatRoomId },
//     {
//       $set: {
//         user: userId,
//         WeChatId: qrcode.WeChatId,
//         QrCodeUrl: qrcode.QrCodeUrl,
//         ChatRoomId: qrcode.ChatRoomId,
//         ModifyTime: mt
//       }
//     },
//     { upsert: true },
//     (err, numReplaced) => {
//       console.log(err || numReplaced)
//       store.dispatch('conversation/SetChatRoomQrCodes')
//       store.dispatch('SetDialog', '')
//     }
//   )
// }

// /**
//  * 群聊新增通知
//  */
// function chatRoomAddNoticeHandle (msg) {
//   let message = JSON.parse(msg.message)
//   console.log('群聊新增通知:ChatRoomAddNotice')
//   console.log(message)
//   if (store.getters.dialogLock === 5) {
//     store.dispatch('SetDialogLock', 0)
//     store.dispatch('SetDialog', '')
//   }
//   if (!message.ChatRoom) return
//   // 更新群聊列表
//   let chatRoom = message.ChatRoom
//   nedb.chatRooms.update(
//     {
//       user: store.getters.userId,
//       WeChatId: message.WeChatId,
//       UserName: message.ChatRoom.UserName
//     },
//     { $set: chatRoom },
//     { upsert: true },
//     (err, updateNumber) => {
//       // store.dispatch('SetDialog', '')
//       if (err) return
//       // 更新群聊列表
//       store.dispatch('conversation/SetChatRooms')
//       // 更新当前群聊列表
//       let currentWechat = store.getters['conversation/currentWechat']
//       if (message.WeChatId === currentWechat.WeChatId) {
//         store.dispatch('conversation/SetCurrentChatRooms')
//       }
//     }
//   )
// }

// /**
//  * 群聊删除通知
//  */
// function chatRoomDelNoticeHandle (msg) {
//   let message = JSON.parse(msg.message)
//   console.log('群聊删除通知:ChatRoomDelNotice')
//   console.log(message)
//   nedb.chatRooms.remove(
//     {
//       user: store.getters.userId,
//       WeChatId: message.WeChatId,
//       UserName: message.RoomId
//     },
//     { multi: false },
//     (err, numRemoved) => {
//       console.log(err || numRemoved)
//       store.dispatch('conversation/SetCurrentChatRooms')
//       store.dispatch('conversation/SetCurrentFriend', {})
//       nedb.convers.remove(
//         {
//           user: store.getters.userId,
//           WeChatId: message.WeChatId,
//           UserName: message.RoomId
//         },
//         { multi: false },
//         (err, numRemoved) => {
//           console.log(err || numRemoved)
//           store.dispatch('conversation/SetCurrentConvers')
//         }
//       )
//     }
//   )
// }

// /**
//  * 群聊信息变更通知
//  */
// function chatRoomChangedNoticeHandle (msg) {
//   let message = JSON.parse(msg.message)
//   console.log('群聊信息变更通知:ChatRoomChangedNotice')
//   console.log(message)
//   if (message.Content) {
//     let userId = store.getters.userId
//     let wechatId = message.WeChatId
//     let userName = message.UserName
//     let currentFriendId =
//       store.getters['conversation/currentFriend'].UserName || ''
//     switch (message.What) {
//       // 群聊名称 ok
//       case 'Change_NickName':
//         console.log('群名变更通知')
//         nedb.chatRooms.update(
//           { user: userId, WeChatId: wechatId, UserName: userName },
//           { $set: { NickName: message.Content } },
//           { multi: false },
//           (err, numReplaced) => {
//             console.log(err || numReplaced)
//             store.dispatch('conversation/SetChatRooms')
//             store.dispatch('conversation/SetCurrentChatRooms')
//           }
//         )
//         break
//       // 公告 ok 群聊里 remark 用来存公告
//       case 'Change_PublicNotice':
//         console.log('群公告变更通知')
//         nedb.chatRooms.update(
//           { user: userId, WeChatId: wechatId, UserName: userName },
//           { $set: { Notice: message.Content } },
//           { multi: false },
//           (err, numReplaced) => {
//             console.log(err || numReplaced)
//             store.dispatch('conversation/SetChatRooms')
//             store.dispatch('conversation/SetCurrentChatRooms')
//           }
//         )
//         break
//       // 群显示名 ok
//       case 'Change_ShowName':
//         console.log('好友的群昵称变更通知')
//         let contents = message.Content.replace(/{|}/gi, '').split(', ')
//         let nc = []
//         for (const content of contents) {
//           let un = content.replace(/=.*/, '')
//           let sn = content.replace(/^[0-9a-zA-Z_]{1,}=?/, '')
//           nc.push({ UserName: un, ShowName: sn })
//         }
//         console.log(nc)
//         // arg[0] = JSON.stringify(nc)
//         break
//       // 自己的群显示名 ok
//       case 'Change_MyShowName':
//         console.log('自己的群昵称变更通知')
//         nedb.chatRooms.update(
//           { user: userId, WeChatId: wechatId, UserName: userName },
//           { $set: { SelfDisplayName: message.Content } },
//           { multi: false },
//           (err, numReplaced) => {
//             console.log(err || numReplaced)
//             store.dispatch('SetDialog', '')
//             store.dispatch('conversation/SetChatRooms')
//             store.dispatch('conversation/SetCurrentChatRooms')
//           }
//         )
//         break
//       // 改变群主 ok
//       case 'Change_Owner':
//         console.log('群主变更通知')
//         nedb.chatRooms.update(
//           { user: userId, WeChatId: wechatId, UserName: userName },
//           { $set: { Owner: message.Content } },
//           { multi: false },
//           (err, numReplaced) => {
//             console.log(err || numReplaced)
//             store.dispatch('SetDialog', '')
//             store.dispatch('conversation/SetChatRooms')
//             store.dispatch('conversation/SetCurrentChatRooms')
//             if (currentFriendId === userName) {
//               nedb.chatRooms.findOne(
//                 {
//                   user: userId,
//                   WeChatId: wechatId,
//                   UserName: userName
//                 },
//                 (err, doc) => {
//                   if (err || !doc) return
//                   store.dispatch('conversation/SetCurrentFriend', doc)
//                 }
//               )
//             }
//           }
//         )
//         break
//       // 改变群头像 ok
//       case 'Change_Avatar':
//         console.log('群头像变更通知')
//         nedb.chatRooms.update(
//           { user: userId, WeChatId: wechatId, UserName: userName },
//           { $set: { Avatar: message.Content } },
//           { multi: false },
//           (err, numReplaced) => {
//             console.log(err || numReplaced)
//             store.dispatch('SetDialog', '')
//             store.dispatch('conversation/SetChatRooms')
//             store.dispatch('conversation/SetCurrentChatRooms')
//           }
//         )
//         break
//       // 群成员修改 ok
//       default:
//         console.log('群成员变更通知')
//         let membersList = message.Content.split(';')
//         nedb.chatRooms.update(
//           { user: userId, WeChatId: wechatId, UserName: userName },
//           { $set: { MemberList: membersList } },
//           { multi: false },
//           (err, numReplaced) => {
//             console.log(err || numReplaced)
//             store.dispatch('SetDialog', '')
//             store.dispatch('conversation/SetChatRooms')
//             store.dispatch('conversation/SetCurrentChatRooms')
//             if (currentFriendId === userName) {
//               nedb.chatRooms.findOne(
//                 {
//                   user: userId,
//                   WeChatId: wechatId,
//                   UserName: userName
//                 },
//                 (err, doc) => {
//                   if (err || !doc) return
//                   store.dispatch('conversation/SetCurrentFriend', doc)
//                 }
//               )
//             }
//           }
//         )

//         break
//     }
//   }
// }

// /**
//  * 删除好友通知
//  */
// function friendDelNoticeHandle (msg) {
//   let message = JSON.parse(msg.message)
//   console.log('好友删除通知：FriendDelNotice')
//   console.log(message)
//   let wechatId = message.WeChatId
//   let friendId = message.FriendId
//   let userId = store.getters.userId
//   nedb.friends.remove(
//     {
//       user: userId,
//       WeChatId: wechatId,
//       FriendId: friendId
//     },
//     (err, numRemoved) => {
//       if (err) return
//       store.dispatch('conversation/SetCurrentFriends')
//       // if (store.getters.dialogLock === 7) {
//       //   store.dispatch('SetDialogLock', 0)
//       //   store.dispatch('SetDialog', '')
//       // }
//     }
//   )
// }

export default {
    friendAddNoticeHandle,
    // contactLabelAddNoticeHandle,
    // contactLabelDelNoticeHandle,
    // friendDelNoticeHandle,
    // friendTalkNoticeHandle,
    // postMessageReadNoticeHandle,
    // takeMoneyTaskResultNoticeHandle,
    // talkToFriendTaskResultNoticeHandle,
    // pullWeChatQrCodeTaskResultNoticeHandle,
    // requestTalkDetailTaskResultNoticeHandle,
    // chatRoomDelNoticeHandle,
    // chatRoomAddNoticeHandle,
    // chatroomPushNoticeHandle,
    // chatRoomChangedNoticeHandle,
    // chatRoomMembersNoticeHandle,
    // pullChatRoomQrCodeTaskResultNoticeHandle,
    // weChatTalkToFriendNoticeHandle,
    // historyMsgPushNoticeHandle,
    conversationPushNoticeHandle,
};
